home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…ch: Other People's Memory / ADC Developer CD (1993-03) (''Other People's Memory'')_iso / Dev.CD Mar 93.iso / Development Platforms / Apple II / Essentials / Technical.Notes / Misc / TN.MISC.015 < prev    next >
Encoding:
Text File  |  1992-07-15  |  2.4 KB  |  58 lines  |  [TEXT/GEOL]

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5. Apple II Miscellaneous
  6. #15: Compatibility Across Apple II Models
  7.  
  8. Revised by: Dave Lyons                                               May 1992
  9. Written by: Dave Lyons                                           January 1990
  10.  
  11. This Technical Note explains how you can get in big trouble with soft
  12. switches.
  13.  
  14. CHANGES SINCE JANUARY 1990: Added caution against calling the 80-column
  15. firmware with RAMRD or RAMWRT enabled.
  16. _____________________________________________________________________________
  17.  
  18.  
  19. CALL FIRMWARE WITH NORMAL MEMORY MAPPING
  20.  
  21. Firmware behaves unpredictably if you call it with nonstandard memory mapping
  22. in effect.
  23.  
  24. For example, do not call the 80-column firmware with RAMRD (RDCARDRAM) or
  25. RAMWRT (WRCARDRAM) turned on.  If you do, the firmware accidentally accesses
  26. auxiliary-memory screen holes instead of main-memory screen holes, including
  27. MSLOT ($07F8 in main memory).  This can cause the system to crash.
  28.  
  29. READ DEFINED SOFT SWITCHES ONLY
  30.  
  31. When a soft switch location is defined on one Apple II model but not others,
  32. it is not safe to read the soft switch and later decide whether to use the
  33. value that was read.  The following two examples demonstrate the hazards of
  34. this method.
  35.  
  36. An application must read KEYMODREG ($C025) only after determining that it is
  37. running on an Apple IIgs (using IDROUTINE at $FE1F).  Reading KEYMODREG and
  38. later ignoring the result if not on an Apple IIgs does not work.
  39.  
  40. NEWVIDEO ($C029) is also defined only on the Apple IIgs.  Again, an
  41. application must know that it is running on an Apple IIgs before reading or
  42. writing this location.  (If your application uses double-high resolution,
  43. check for an Apple IIgs before attempting to set the monochrome-double-hires
  44. bit in NEWVIDEO.)
  45.  
  46. Both of these locations are reserved on the Apple IIc Plus, and reading from
  47. or writing to them currently causes the Apple IIc Plus ROM to be swapped out
  48. and replaced by additional ROM, instantly killing your application.
  49.  
  50.  
  51. Further Reference
  52. _____________________________________________________________________________
  53.  
  54.    o   Apple IIgs Hardware Reference
  55.    o   Apple IIe Technical Reference Manual
  56.    o   Apple IIc Technical Reference Manual, Second Edition
  57.    o   Miscellaneous Technical Note #7, Apple II Family Identification
  58.